import request from '@/utils/request'

const userService = {
  // 获取所有用户
  getUsers() {
    return request({
      url: '/Users',
      method: 'get'
    })
  },

  // 获取用户列表（带分页）
  getList(params) {
    return request({
      url: '/Users',
      method: 'get',
      params
    })
  },

  // 根据ID获取用户
  getUserById(id) {
    return request({
      url: `/Users/${id}`,
      method: 'get'
    })
  },

  // 创建用户
  createUser(data) {
    return request({
      url: '/Users/register',
      method: 'post',
      data
    })
  },

  // 更新用户
  updateUser(id, data) {
    return request({
      url: `/Users/${id}`,
      method: 'put',
      data
    })
  },

  // 更新用户昵称
  updateNickname(id, nickname) {
    return request({
      url: `/Users/${id}/nickname`,
      method: 'put',
      params: { nickname }
    })
  },

  // 更新用户手机号
  updatePhone(id, phone) {
    return request({
      url: `/Users/${id}/phone`,
      method: 'put',
      params: { phone }
    })
  },

  // 更新用户头像
  updateAvatar(id, avatar) {
    return request({
      url: `/Users/${id}/avatar`,
      method: 'put',
      params: { avatar }
    })
  },

  // 删除用户
  deleteUser(id) {
    return request({
      url: `/Users/${id}`,
      method: 'delete'
    })
  },

  // 搜索用户
  searchUsers(keyword) {
    return request({
      url: '/Users/search',
      method: 'get',
      params: { keyword }
    })
  },

  // 获取用户统计数据
  getStatistics() {
    return request({
      url: '/Users/statistics',
      method: 'get'
    })
  },

  // 更新用户状态
  updateUserStatus(id, status) {
    return request({
      url: `/Users/${id}/status`,
      method: 'put',
      params: { status }
    })
  },

  // 检查学号是否存在
  checkStudentId(studentId) {
    return request({
      url: `/Users/check/studentId/${studentId}`,
      method: 'get'
    })
  },

  // 检查昵称是否存在
  checkNickname(nickname) {
    return request({
      url: `/Users/check/nickname/${nickname}`,
      method: 'get'
    })
  },

  // 检查手机号是否存在
  checkPhone(phone) {
    return request({
      url: `/Users/check/phone/${phone}`,
      method: 'get'
    })
  }
}

export default userService 